Implementing Software Programs in FPGAs Using Flowpaths

نویسندگان

  • Darrin M. Hanna
  • Richard E. Haskell
چکیده

Embedded systems design often involves writing code in high-level languages such as C/C++ and Java and optimizing using Assembly while minimizing design time. Equally important is the choice of the execution target. Among these microprocessor targets are microprocessor cores for FPGAs. These cores are useful for applications that also contain application-specific hardware implemented on the FPGA usually developed in VHDL or Verilog by hardware designers. More recently, several methods for using C as a hardware description language and for compiling C programs to hardware have been researched. This paper compares the use of flowpaths implemented in an FPGA generated from high-level Forth with C, Java, and Forth executed on microprocessors and microprocessor cores on FPGAs. The results show that flowpaths perform within a factor of 2 of a minimal hand-crafted direct hardware implementation and orders of magnitude better than compiling the program to a microprocessor.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Flowpaths: Compiling stack-based IR to hardware

The performance of software executed on a microprocessor is adversely affected by the basic fetch-execute cycle. A further performance penalty results from the load-execute-store paradigm associated with the use of local variables in most high-level languages. Implementing the software algorithm directly in hardware such as on an FPGA can alleviate these performance penalties. Such implementati...

متن کامل

Executing large algorithms on low-capacity FPGAs using flowpath partitioning and runtime reconfiguration

This paper describes a new method of executing a software program on an FPGA for embedded systems. Rather than combine reconfigurable logic with a microprocessor core, this method uses a new technique to compile Java programs directly to special-purpose processors that are called “flowpaths”. Flowpaths allow a software program to be executed in such a way that one low-capacity FPGA is executing...

متن کامل

Java Flowpaths: Efficiently Generating Circuits for Embedded Systems from Java

The performance of software executed on a microprocessor is adversely affected by the basic fetchexecute cycle. A further performance penalty results from the load-execute-store paradigm associated with the use of local variables in most high-level languages. This paper describes creating Java flowpaths, a general method of generating hardware directly from Java bytecodes that support basic ope...

متن کامل

Generating Hardware from Java Using Self - Propagating Flowpaths

The performance of software executed on a microprocessor is adversely affected by the basic fetch-execute cycle. A further performance penalty results from the loadexecute-store paradigm associated with the use of local variables in most high-level languages. Implementing a software algorithm directly in hardware such as on an FPGA can alleviate these performance penalties. Such implementations...

متن کامل

FPGAs: Re-Inventing the Signal Processor

FPGAs are increasingly being employed for building real-time signal processing systems. They have been used extensively for implementing the PHY in software radio architectures. This paper provides a technology and market perspective on the use FPGAs for signal processing and demonstrates FPGA DSP using an adaptive channel equalizer case study.

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2004